<?php
class User_usuario extends Modelo_base {

	var $table = 'user_usuario';

	var $has_one = array('user_rol');

    // Validaciones de campos
    var $validation = array(
        'nombre' => array(
            'label' => 'Nombre',
            'rules' => array('trim', 'max_length' => 40),
            'get_rules' => array('trim')
            ),
        'nombre_usuario' => array(
            'label' => 'Usuario',
            'rules' => array('trim', 'max_length' => 20, 'alpha_dash_dot', 'unique'),
            'get_rules' => array('trim')
            ),
        'clave' => array(
            'label' => 'Clave',
            'rules' => array('min_length' => 6, 'max_length' => 10, 'encrypt' => '4p1T2re23E5v'),
        	),
        'confirm_password' => array(
            'label' => 'Confirmar Clave',
            'rules' => array('encrypt' => '4p1T2re23E5v', 'matches' => 'clave')
            ),
        'fecha_alta' => array(
	        'label' => 'Fecha de alta',
	        'rules' => array('prepararFecha' => 'Y-m-d', 'valid_date'),
            'get_rules' => array('prepararFecha' => 'd/m/Y')
			),
        'baja' => array(
            'label' => 'Baja',
            'rules' => array('boolean')
            ),
        'fecha_baja' => array(
	        'label' => 'Fecha de baja',
	        'rules' => array('prepararFecha' => 'Y-m-d', 'valid_date'),
            'get_rules' => array('prepararFecha' => 'd/m/Y')
			),
        'foto_perfil' => array(
            'label' => 'Foto de perfil',
            'rules' => array('trim', 'max_length' => 100, 'alpha_dash_dot'),
            'get_rules' => array('trim')
            ),
        'user_rol' => array(
            'label' => 'Rol',
            'rules' => array('required')
            )
    );

    // Optionally, don't include a constructor if you don't need one.
    function __construct($id = NULL)
    {
        parent::__construct($id);
    }

    public $clave_encriptacion = '4p1T2re23E5v';

    public function getCadenaEncriptada($cadena){
        return parent::encriptar(trim($cadena), $this->clave_encriptacion);
    }

    public function getFotoPerfilMin($imagen = '') {
        if ($imagen == '') $imagen = $this->foto_perfil;
        if(!empty($imagen)) {
            $info = pathinfo($imagen);

            $ruta_base = $info['dirname'] != '.' ? ($info['dirname'] . '/') : '';
            $nombre_sin_extension = $info['filename'];
            $extension = $info['extension'];

            $perfil_min = $ruta_base . $nombre_sin_extension . '_min.' . $extension;
        }
        else $perfil_min = '';

        return $perfil_min;
    }
}

/* End of file user_usuario.php */
/* Location: ./application/models/user_usuario.php */